﻿using System;

namespace FileRenamer
{
	public interface ICommand
	{
		string Name { get; }
		string Description { get; }
		/// <summary>
		/// A unique command name
		/// </summary>
		string CommandName { get; }

		/// <summary>
		/// The method used for manipulating the string.
		/// </summary>
		/// <param name="input">The string that should be manipulated (left of ':')</param>
		/// <param name="args">The commands specific to this operation</param>
		/// <returns>The new string</returns>
		string Convert(string input, string[] args);

		/// <summary>
		/// Method for adding content to the extension's tab. Return false to not add a new tab.
		/// </summary>
		/// <param name="container">The grid that your content will be added to.</param>
		/// <returns>The name of the tab header. Empty or Null for no new tab.</returns>
		string LoadXaml(ref System.Windows.Controls.Grid container);
	}

	public interface ICommandData
	{
		String Command { get; }
	}
}
